<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<meta name="theme-color" content="#33474d">
	<title>失落的乐章</title>
	<link rel="stylesheet" href="/css/style.css" />
	
      <link rel="alternate" href="/atom.xml" title="失落的乐章" type="application/atom+xml">
    
</head>

<body>

	<header class="header">
		<nav class="header__nav">
			
				<a href="/archives" class="header__link">Archive</a>
			
				<a href="/tags" class="header__link">Tags</a>
			
				<a href="/atom.xml" class="header__link">RSS</a>
			
		</nav>
		<h1 class="header__title"><a href="/">失落的乐章</a></h1>
		<h2 class="header__subtitle">技术面前，永远都是学生。</h2>
	</header>

	<main>
		
	<span class="different-posts different-posts_earlier">📖 <a href="/page/53">earlier posts</a> 📖</span>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/30. Linux 命令- chown/">Linux 命令- chown</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;chown将指定文件的拥有者改为指定的用户或组，用户可以是用户名或者用户ID；组可以是组名或者组ID；文件是以空格分开的要改变权限的文件列表，支持通配符。系统管理员经常使用chown命令，在将文件拷贝到另一个用户的名录下之后，让用户拥有使用该文件的权限。 </p>
<h2 id="1-命令格式"><a href="#1-命令格式" class="headerlink" title="1.命令格式"></a>1.命令格式</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chown [选项] [所有者]:[组] [文件]</div></pre></td></tr></table></figure>
<h2 id="2-命令功能"><a href="#2-命令功能" class="headerlink" title="2.命令功能"></a>2.命令功能</h2><h3 id="必要参数"><a href="#必要参数" class="headerlink" title="必要参数"></a>必要参数</h3><ul>
<li>-c 显示更改的部分的信息</li>
<li>-f 忽略错误信息</li>
<li>-h 修复符号链接</li>
<li>-R 处理指定目录以及其子目录下的所有文件</li>
<li>-v 显示详细的处理信息</li>
<li>-deference 作用于符号链接的指向，而不是链接文件本身</li>
</ul>
<h3 id="选择参数"><a href="#选择参数" class="headerlink" title="选择参数"></a>选择参数</h3><ul>
<li>–reference=&lt;目录或文件&gt; 把指定的目录/文件作为参考，把操作的文件/目录设置成参考文件/目录相同拥有者和群组</li>
<li>–from=&lt;当前用户：当前群组&gt; 只有当前用户和群组跟指定的用户和群组相同时才进行改变</li>
<li>–help 显示帮助信息</li>
<li>–version 显示版本信息</li>
</ul>
<h2 id="4-使用实例"><a href="#4-使用实例" class="headerlink" title="4.使用实例"></a>4.使用实例</h2><h3 id="实例1-改变拥有者和群组"><a href="#实例1-改变拥有者和群组" class="headerlink" title="实例1.改变拥有者和群组"></a>实例1.改变拥有者和群组</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chown mail:mail log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div></pre></td><td class="code"><pre><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment"># chown mail:mail log2012.log </span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 mail mail  302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;将文件 log2012.log 的属主 root 和 属组 users 改变为 属主 mail 和属组 mail</p>
<h3 id="实例2-改变文件拥有者和群组"><a href="#实例2-改变文件拥有者和群组" class="headerlink" title="实例2.改变文件拥有者和群组"></a>实例2.改变文件拥有者和群组</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chown root: log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div></pre></td><td class="code"><pre><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 604</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 mail mail  302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment"># chown root: log2012.log </span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 604</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root root  302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;将文件 log2012.log 的属主和属组改变为 root</p>
<h3 id="实例3-改变文件群组"><a href="#实例3-改变文件群组" class="headerlink" title="实例3.改变文件群组"></a>实例3.改变文件群组</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chown :mail log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div></pre></td><td class="code"><pre><div class="line">root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 604</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root root  302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment"># chown :mail log2012.log </span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 604</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root mail  302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;只把文件 log2012.log 的属组改变为 mail 属主不变</p>
<h3 id="实例4-改变指定目录以及其字目录下的所有文件的拥有者和群组"><a href="#实例4-改变指定目录以及其字目录下的所有文件的拥有者和群组" class="headerlink" title="实例4.改变指定目录以及其字目录下的所有文件的拥有者和群组"></a>实例4.改变指定目录以及其字目录下的所有文件的拥有者和群组</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chown -R -v root:mail test6</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">drwxr-xr-x 2 root users   4096 11-30 08:39 test6</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chown -R -v root:mail test6</span></div><div class="line">“test6/log2014.log” 的所有者已更改为 root:mail</div><div class="line">“test6/linklog.log” 的所有者已更改为 root:mail</div><div class="line">“test6/log2015.log” 的所有者已更改为 root:mail</div><div class="line">“test6/log2013.log” 的所有者已更改为 root:mail</div><div class="line">“test6/log2012.log” 的所有者已保留为 root:mail</div><div class="line">“test6/log2017.log” 的所有者已更改为 root:mail</div><div class="line">“test6/log2016.log” 的所有者已更改为 root:mail</div><div class="line">“test6” 的所有者已更改为 root:mail</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">drwxr-xr-x 2 root mail   4096 11-30 08:39 test6</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test6</span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 604</div><div class="line">---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root mail     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root mail      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root mail      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root mail      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root mail      0 11-30 08:39 log2017.log</div></pre></td></tr></table></figure>
	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/29. Linux 命令- chgrp/">Linux 命令- chgrp</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在 Linux 系统里，文件或目录的权限的掌控以拥有者及所属群组来管理。可以使用 chgrp 指令变更文件与目录所属群组，这种方式采用群组名称或群组织识别码都可以。chgrp 命令就是 change group 的缩写！要被改变的组名必须要在 /etc/group 文件被存在才行。</p>
<h2 id="1-命令格式"><a href="#1-命令格式" class="headerlink" title="1.命令格式"></a>1.命令格式</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chgrp [选项] [组] [文件]</div></pre></td></tr></table></figure>
<h2 id="2-命令功能"><a href="#2-命令功能" class="headerlink" title="2.命令功能"></a>2.命令功能</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;chgrp 命令可采用群组名称或群组织识别码的方式改变文件或目录的所属群组。使用权限是超级用户。</p>
<h2 id="3-命令参数"><a href="#3-命令参数" class="headerlink" title="3.命令参数"></a>3.命令参数</h2><h3 id="必要参数"><a href="#必要参数" class="headerlink" title="必要参数"></a>必要参数</h3><ul>
<li>-c 当发生改变时输出调试信息</li>
<li>-f 不显示错误信息</li>
<li>-R 处理指定目录以及其子目录下的所有文件</li>
<li>-v 运行时显示详细的处理信息</li>
<li>–dereference 作用于符号链接的指向，而不是符号链接本身</li>
<li>–no-dereference 作用于符号链接本身</li>
</ul>
<h3 id="选择参数"><a href="#选择参数" class="headerlink" title="选择参数"></a>选择参数</h3><ul>
<li>–reference=&lt;文件或者目录&gt;</li>
<li>–help 显示帮助信息</li>
<li>–version 显示版本信息</li>
</ul>
<h2 id="使用实例"><a href="#使用实例" class="headerlink" title="使用实例"></a>使用实例</h2><h3 id="实例1：改变文件的群组属性"><a href="#实例1：改变文件的群组属性" class="headerlink" title="实例1：改变文件的群组属性"></a>实例1：改变文件的群组属性</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chgrp -v bin log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chgrp -v bin log2012.log</span></div><div class="line">“log2012.log” 的所属组已更改为 bin</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">---xrw-r-- 1 root bin  302108 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;将 log2012.log 文件由 root 群组该为 bin 群组</p>
<h3 id="实例2：根据指定未见改变文件的群组属性"><a href="#实例2：根据指定未见改变文件的群组属性" class="headerlink" title="实例2：根据指定未见改变文件的群组属性"></a>实例2：根据指定未见改变文件的群组属性</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chgrp --reference=log2012.log log2013.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">---xrw-r-- 1 root bin  302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#  chgrp --reference=log2012.log log2013.log </span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">---xrw-r-- 1 root bin  302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;改变文件 log2013.log 的群组属性，是的文件 log2013.log 的群组属性和参考文件 log2012.log 的群组属性相同</p>
<h3 id="实例3-改变指定目录以及其子目录下的所有文件的群组属性"><a href="#实例3-改变指定目录以及其子目录下的所有文件的群组属性" class="headerlink" title="实例3.改变指定目录以及其子目录下的所有文件的群组属性"></a>实例3.改变指定目录以及其子目录下的所有文件的群组属性</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chgrp -R bin test6</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">drwxr-xr-x 2 root root   4096 11-30 08:39 test6</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test6</span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">---xr--r-- 1 root root 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root root 302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root root      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root root      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment"># cd ..</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chgrp -R bin test6</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test6</span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">---xr--r-- 1 root bin 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root bin 302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root bin     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root bin      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root bin      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root bin      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root bin      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment"># cd ..</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">drwxr-xr-x 2 root bin    4096 11-30 08:39 test6</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;改变指定目录以及其子目录下的所有文件的群组属性</p>
<h3 id="实例4-通过群组织识别码改变文件群组属性"><a href="#实例4-通过群组织识别码改变文件群组属性" class="headerlink" title="实例4.通过群组织识别码改变文件群组属性"></a>实例4.通过群组织识别码改变文件群组属性</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chgrp -R 100 test6</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chgrp -R 100 test6</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">drwxr-xr-x 2 root users   4096 11-30 08:39 test6</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test6</span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 linklog.log</div><div class="line">---xr--r-- 1 root users 302108 11-30 08:39 log2012.log</div><div class="line">-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log</div><div class="line">-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log</div><div class="line">[root@localhost test6]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;通过群识别码改变文件群组属性，100为 users 群组的识别码，具体群组和群组识别码可以去 /etc/group 文件中查看</p>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/3. Linux 命令-mkdir/">Linux 命令- mkdir</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;linux mkdir 命令用来创建指定的名称的目录，要求创建目录的用户在当前目录中具有写权限，并且指定的目录名不能是当前目录中已有的目录。      </p>
<h2 id="1．命令格式："><a href="#1．命令格式：" class="headerlink" title="1．命令格式："></a>1．命令格式：</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir [选项] [目录]</div></pre></td></tr></table></figure>
<h2 id="2．命令功能："><a href="#2．命令功能：" class="headerlink" title="2．命令功能："></a>2．命令功能：</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且，所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名，即同一个目录下不能有同名的(区分大小写)。 </p>
<h2 id="3．命令参数："><a href="#3．命令参数：" class="headerlink" title="3．命令参数："></a>3．命令参数：</h2><ul>
<li>-m, –mode=模式，设定权限&lt;模式&gt; (类似 chmod)，而不是 rwxrwxrwx 减 umask  </li>
<li>-p, –parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;   </li>
<li>-v, –verbose  每次创建新目录都显示信息     <ul>
<li>–help   显示此帮助信息并退出        </li>
<li>–version  输出版本信息并退出    </li>
</ul>
</li>
</ul>
<h2 id="4．命令实例："><a href="#4．命令实例：" class="headerlink" title="4．命令实例："></a>4．命令实例：</h2><h3 id="实例1：创建一个空目录"><a href="#实例1：创建一个空目录" class="headerlink" title="实例1：创建一个空目录"></a>实例1：创建一个空目录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir test1</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># cd test</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir test1</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例2：递归创建多个目录"><a href="#实例2：递归创建多个目录" class="headerlink" title="实例2：递归创建多个目录"></a>实例2：递归创建多个目录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir -p test2/test22</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir -p test2/test22</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1</div><div class="line">drwxr-xr-x 3 root root 4096 10-25 17:44 test2</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test2/</span></div><div class="line">[root@localhost test2]<span class="comment"># ll</span></div><div class="line">总计 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22</div><div class="line">[root@localhost test2]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例3：创建权限为777的目录"><a href="#实例3：创建权限为777的目录" class="headerlink" title="实例3：创建权限为777的目录"></a>实例3：创建权限为777的目录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir -m 777 test3</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir -m 777 test3</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1</div><div class="line">drwxr-xr-x 3 root root 4096 10-25 17:44 test2</div><div class="line">drwxrwxrwx 2 root root 4096 10-25 17:46 test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明：</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;test3 的权限为rwxrwxrwx</p>
<h3 id="实例4：创建新目录都显示信息"><a href="#实例4：创建新目录都显示信息" class="headerlink" title="实例4：创建新目录都显示信息"></a>实例4：创建新目录都显示信息</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir -v test4</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir -v test4</span></div><div class="line">mkdir: 已创建目录 “test4”</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir -vp test5/test5-1</span></div><div class="line">mkdir: 已创建目录 “test5”</div><div class="line">mkdir: 已创建目录 “test5/test5-1”</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例5：一个命令创建项目的目录结构"><a href="#实例5：一个命令创建项目的目录结构" class="headerlink" title="实例5：一个命令创建项目的目录结构"></a>实例5：一个命令创建项目的目录结构</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;参考：<a href="http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html" target="_blank" rel="external">UNIX 高手的 10 个习惯</a> </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">mkdir -vp scf/&#123;lib/,bin/,doc/&#123;info,product&#125;,logs/&#123;info,product&#125;,service/deploy/&#123;info,product&#125;&#125;</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># mkdir -vp scf/&#123;lib/,bin/,doc/&#123;info,product&#125;,logs/&#123;info,product&#125;,service/deploy/&#123;info,product&#125;&#125;</span></div><div class="line">mkdir: 已创建目录 “scf”</div><div class="line">mkdir: 已创建目录 “scf/lib”</div><div class="line">mkdir: 已创建目录 “scf/bin”</div><div class="line">mkdir: 已创建目录 “scf/doc”</div><div class="line">mkdir: 已创建目录 “scf/doc/info”</div><div class="line">mkdir: 已创建目录 “scf/doc/product”</div><div class="line">mkdir: 已创建目录 “scf/logs”</div><div class="line">mkdir: 已创建目录 “scf/logs/info”</div><div class="line">mkdir: 已创建目录 “scf/logs/product”</div><div class="line">mkdir: 已创建目录 “scf/service”</div><div class="line">mkdir: 已创建目录 “scf/service/deploy”</div><div class="line">mkdir: 已创建目录 “scf/service/deploy/info”</div><div class="line">mkdir: 已创建目录 “scf/service/deploy/product”</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tree scf/</span></div><div class="line">scf/</div><div class="line">|-- bin</div><div class="line">|-- doc</div><div class="line">|   |-- info</div><div class="line">|   `-- product</div><div class="line">|-- lib</div><div class="line">|-- logs</div><div class="line">|   |-- info</div><div class="line">|   `-- product</div><div class="line">`-- service</div><div class="line">   	 	`-- deploy</div><div class="line">  	    	|-- info</div><div class="line">        	`-- product</div><div class="line">12 directories, 0 files</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/28. Linux 命令- tar/">Linux 命令- tar</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;通过SSH访问服务器，难免会要用到压缩，解压缩，打包，解包等，这时候tar命令就是是必不可少的一个功能强大的工具。linux中最流行的tar是麻雀虽小，五脏俱全，功能强大。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tar命令可以为linux的文件和目录创建档案。利用tar，可以为某一特定文件创建档案（备份文件），也可以在档案中改变文件，或者向档案中加入新的文件。tar最初被用来在磁带上创建档案，现在，用户可以在任何设备上创建档案。利用tar命令，可以把一大堆的文件和目录全部打包成一个文件，这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;首先要弄清两个概念：打包和压缩。打包是指将一大堆文件或目录变成一个总的文件；压缩则是将一个大的文件通过一些压缩算法变成一个小文件。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;为什么要区分这两个概念呢？这源于Linux中很多压缩程序只能针对一个文件进行压缩，这样当你想要压缩一大堆文件时，你得先将这一大堆文件先打成一个包（tar命令），然后再用压缩程序进行压缩（gzip bzip2命令）。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;linux下最常用的打包程序就是tar了，使用tar程序打出来的包我们常称为tar包，tar包文件的命令通常都是以.tar结尾的。生成tar包后，就可以用其它的程序来进行压缩。</p>
<h2 id="1-命令格式"><a href="#1-命令格式" class="headerlink" title="1.命令格式"></a>1.命令格式</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar [必要参数] [选择参数] [文件]</div></pre></td></tr></table></figure>
<h2 id="2-命令功能"><a href="#2-命令功能" class="headerlink" title="2.命令功能"></a>2.命令功能</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;用来压缩和解压文件。tar 本身不具有压缩功能。它是调用压缩功能实现的。</p>
<h2 id="3-命令参数"><a href="#3-命令参数" class="headerlink" title="3.命令参数"></a>3.命令参数</h2><h3 id="必要参数"><a href="#必要参数" class="headerlink" title="必要参数"></a>必要参数</h3><ul>
<li>-A 新增压缩文件到已存在的压缩</li>
<li>-B 设置区块大小</li>
<li>-c 建立新的压缩文件</li>
<li>-d 记录文件的差别</li>
<li>-r 添加文件到已经压缩的文件</li>
<li>-u 添加改变了和现有的文件到已经存在的压缩文件</li>
<li>-x 从压缩的文件中提取文件</li>
<li>-t 显示压缩文件的内容</li>
<li>-z 支持gzip解压文件</li>
<li>-j 支持bzip2解压文件</li>
<li>-Z 支持compress解压文件</li>
<li>-v 显示操作过程</li>
<li>-l 文件系统边界设置</li>
<li>-k 保留原有文件不覆盖</li>
<li>-m 保留文件不被覆盖</li>
<li>-W 确认压缩文件的正确性</li>
</ul>
<h3 id="可选择参数"><a href="#可选择参数" class="headerlink" title="可选择参数"></a>可选择参数</h3><ul>
<li>-b 设置区块数目</li>
<li>-C 切换到指定目录</li>
<li>-f 指定压缩文件</li>
<li>–help 显示帮助信息</li>
<li>–version 显示版本信息</li>
</ul>
<h2 id="4-常见压缩、解压命令"><a href="#4-常见压缩、解压命令" class="headerlink" title="4.常见压缩、解压命令"></a>4.常见压缩、解压命令</h2><h3 id="tar"><a href="#tar" class="headerlink" title="tar"></a>tar</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解包</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar xvf filname.tar</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;打包</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar cvf filename.tar dirname</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;注意：tar 是打包，不是压缩！</p>
<h3 id="gz"><a href="#gz" class="headerlink" title=".gz"></a>.gz</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压1</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">gunzip filename.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压2</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">gzip -d filename.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">gzip filename.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar zxvf filename.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar zcvf filename.tar.gz dirname</div></pre></td></tr></table></figure>
<h3 id="bz2"><a href="#bz2" class="headerlink" title=".bz2"></a>.bz2</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压1</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">bzip2 -d filename.bz2</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压2</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">bunzip2 filename.bz2</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">bzip2 -z filename.tar.bz2</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar jxvf filename.tar.bz2</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar jcvf filename.tar.bz2 diename</div></pre></td></tr></table></figure>
<h3 id="Z"><a href="#Z" class="headerlink" title=".Z"></a>.Z</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">unconpress filename.Z</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">compress filename.tar.Z</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar Zxvf filename.tar.Z</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar Zcvf filename.tar.Z dirname</div></pre></td></tr></table></figure>
<h3 id="zip"><a href="#zip" class="headerlink" title=".zip"></a>.zip</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">unzip filename.zip</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">zip filename.zip dirname</div></pre></td></tr></table></figure>
<h3 id="rar"><a href="#rar" class="headerlink" title=".rar"></a>.rar</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;解压</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">rar x filename.rar</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;压缩</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">rar a filename.rar dirname</div></pre></td></tr></table></figure>
<h2 id="5-使用实例"><a href="#5-使用实例" class="headerlink" title="5.使用实例"></a>5.使用实例</h2><h3 id="实例1：将文件全部打包成-tar-包"><a href="#实例1：将文件全部打包成-tar-包" class="headerlink" title="实例1：将文件全部打包成 tar 包"></a>实例1：将文件全部打包成 tar 包</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">tar -cvf log.tar log2012.log</div><div class="line">tar -zxvf log.tar.gz log2012.log</div><div class="line">tar -jcvf log.tar.bz2 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log</span></div><div class="line">---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -cvf log.tar log2012.log </span></div><div class="line">log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -zcvf log.tar.gz log2012.log</span></div><div class="line">log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -jcvf log.tar.bz2 log2012.log </span></div><div class="line">log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al *.tar*</span></div><div class="line">-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar</div><div class="line">-rw-r--r-- 1 root root   1413 11-29 17:55 log.tar.bz2</div><div class="line">-rw-r--r-- 1 root root   1413 11-29 17:54 log.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<ol>
<li>tar -cvf log.tar log2012.log    仅打包，不压缩！     </li>
<li>tar -zcvf log.tar.gz log2012.log   打包后，以 gzip 压缩     </li>
<li>tar -zcvf log.tar.bz2 log2012.log  打包后，以 bzip2 压缩     </li>
</ol>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在参数 f 之后的文件档名是自己去的，习惯上都用 .tar 来作为辨识。如果加 z 参数，则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar 包；如果加 j 参数，则以 .tar.bz2 来作为 tar 报名。</p>
<h3 id="实例2：查阅上述-tar-包内有哪些文件"><a href="#实例2：查阅上述-tar-包内有哪些文件" class="headerlink" title="实例2：查阅上述 tar 包内有哪些文件"></a>实例2：查阅上述 tar 包内有哪些文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar -ztvf log.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -ztvf log.tar.gz</span></div><div class="line">---xrw-r-- root/root    302108 2012-11-13 06:03:25 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于使用 gzip 压缩的 log.tar.gz，所以要查阅 log.tar.gz 包内的文件时，就要加上 z 这个参数</p>
<h3 id="实例3：将-tar-包解压缩"><a href="#实例3：将-tar-包解压缩" class="headerlink" title="实例3：将 tar 包解压缩"></a>实例3：将 tar 包解压缩</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar -zxvf /opt/soft/<span class="built_in">test</span>/log.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost test3]<span class="comment"># ll</span></div><div class="line">总计 0[root@localhost test3]<span class="comment"># tar -zxvf /opt/soft/test/log.tar.gz</span></div><div class="line">log2012.log</div><div class="line">[root@localhost test3]<span class="comment"># ls</span></div><div class="line">log2012.log</div><div class="line">[root@localhost test3]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在预设的情况下，可以将压缩当在任何地方解压</p>
<h3 id="实例4：只将-tar-内的部分文件解压出来"><a href="#实例4：只将-tar-内的部分文件解压出来" class="headerlink" title="实例4：只将 /tar 内的部分文件解压出来"></a>实例4：只将 /tar 内的部分文件解压出来</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar -zxvf /opt/soft/<span class="built_in">test</span>/log30.tar.gz log2013.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -zcvf log30.tar.gz log2012.log log2013.log </span></div><div class="line">log2012.log</div><div class="line">log2013.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log30.tar.gz </span></div><div class="line">-rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -zxvf log30.tar.gz log2013.log</span></div><div class="line">log2013.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">-rw-r--r-- 1 root root   1512 11-30 08:19 log30.tar.gz</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test3</span></div><div class="line">[root@localhost test3]<span class="comment"># tar -zxvf /opt/soft/test/log30.tar.gz log2013.log</span></div><div class="line">log2013.log</div><div class="line">[root@localhost test3]<span class="comment"># ll</span></div><div class="line">总计 4</div><div class="line">-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log</div><div class="line">[root@localhost test3]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;可以投过 tar -ztvf 来查阅 tar 包内的文件名称，如果单只要一个文件，就可透过这个方式来解压部分文件！</p>
<h2 id="实例5：文件备份下来，并且保存其权限"><a href="#实例5：文件备份下来，并且保存其权限" class="headerlink" title="实例5：文件备份下来，并且保存其权限"></a>实例5：文件备份下来，并且保存其权限</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar -zcvpf log31.tar.gz log2014.log log2015.log lo2016.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 0</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log </span></div><div class="line">log2014.log</div><div class="line">log2015.log</div><div class="line">log2016.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test6</span></div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">[root@localhost test6]<span class="comment"># tar -zxvpf /opt/soft/test/log31.tar.gz </span></div><div class="line">log2014.log</div><div class="line">log2015.log</div><div class="line">log2016.log</div><div class="line">[root@localhost test6]<span class="comment"># ll</span></div><div class="line">总计 0</div><div class="line">-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log</div><div class="line">-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log</div><div class="line">[root@localhost test6]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这个 -p 的属性是很重要的，尤其是要保留原文本文件的属性时</p>
<h3 id="实例6：在文件夹当中，比某个日期新的文件才备份"><a href="#实例6：在文件夹当中，比某个日期新的文件才备份" class="headerlink" title="实例6：在文件夹当中，比某个日期新的文件才备份"></a>实例6：在文件夹当中，比某个日期新的文件才备份</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar -N <span class="string">"2012/11/13"</span> -zcvf log17.tar.gz <span class="built_in">test</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># tar -N "2012/11/13" -zcvf log17.tar.gz test</span></div><div class="line">tar: Treating date `2012/11/13<span class="string">' as 2012-11-13 00:00:00 + 0 nanoseconds</span></div><div class="line"><span class="string">test/test/log31.tar.gz</span></div><div class="line"><span class="string">test/log2014.log</span></div><div class="line"><span class="string">test/linklog.log</span></div><div class="line"><span class="string">test/log2015.log</span></div><div class="line"><span class="string">test/log2013.log</span></div><div class="line"><span class="string">test/log2012.log</span></div><div class="line"><span class="string">test/log2017.log</span></div><div class="line"><span class="string">test/log2016.log</span></div><div class="line"><span class="string">test/log30.tar.gz</span></div><div class="line"><span class="string">test/log.tar</span></div><div class="line"><span class="string">test/log.tar.bz2</span></div><div class="line"><span class="string">test/log.tar.gz</span></div></pre></td></tr></table></figure>
<h3 id="实例7：备份文件夹内容是排除部分文件"><a href="#实例7：备份文件夹内容是排除部分文件" class="headerlink" title="实例7：备份文件夹内容是排除部分文件"></a>实例7：备份文件夹内容是排除部分文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar --exclide scf/service -zcvf scf.tar/gz scf/*</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tree scf</span></div><div class="line">scf</div><div class="line">|-- bin</div><div class="line">|-- doc</div><div class="line">|-- lib</div><div class="line">`-- service</div><div class="line">   	 `-- deploy</div><div class="line">       	 	|-- info</div><div class="line">       	 	`-- product</div><div class="line">7 directories, 0 files</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># tar --exclude scf/service -zcvf scf.tar.gz scf/* </span></div><div class="line">scf/bin/</div><div class="line">scf/doc/</div><div class="line">scf/lib/</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/27. Linux 命令- chmod/">Linux 命令- chmod</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法；另一种是包含数字的数字设定法。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux系统中的每个文件和目录都有访问许可权限，用它来确定谁可以通过何种方式对文件和目录进行访问和操作。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件或目录的访问权限分为只读，只写和可执行三种。以文件为例，只读权限表示只允许读其内容，而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时，文件所有者自动拥有对该文件的读、写和可执行权限，以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;有三种不同类型的用户可对文件或目录进行访问：文件所有者，同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件，还可以将文件的访问权限赋予系统中的其他用户。在这种情况下，系统中每一位用户都能访问该用户拥有的文件或目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;每一文件或目录的访问权限都有三组，每组用三位表示，分别为文件属主的读、写和执行权限；与属主同组的用户的读、写和执行权限；系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时，最左边的一列为文件的访问权限。 例如：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">ls -al</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll -al</span></div><div class="line">总计 316lrwxrwxrwx 1 root root     11 11-22 06:58 linklog.log -&gt; log2012.log</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;以log2012.log为例：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;第一列共有10个位置，第一个字符指定了文件类型。在通常意义上，一个目录也是一个文件。如果第一个字符是横线，表示是一个非目录的文件。如果是d，表示是一个目录。从第二个字符开始到第十个共9个字符，3个字符一组，分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可，r代表只读，w代表写，x代表可执行。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>例如：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">- rw- r-- r--</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;表示log2012.log是一个普通文件；log2012.log的属主有读写权限；与log2012.log属主同组的用户只有读权限；其他用户也只有读权限。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;确定了一个文件的访问权限后，用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;chmod命令是非常重要的，用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。chmod命令详细情况如下。</p>
<h2 id="1-命令格式"><a href="#1-命令格式" class="headerlink" title="1.命令格式"></a>1.命令格式</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod [-cfvR] [--<span class="built_in">help</span>] [--version] mode file</div></pre></td></tr></table></figure>
<h2 id="2-命令功能"><a href="#2-命令功能" class="headerlink" title="2.命令功能"></a>2.命令功能</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;用于改变文件或目录的访问权限，用它控制文件或目录的访问权限。</p>
<h2 id="3-命令参数"><a href="#3-命令参数" class="headerlink" title="3.命令参数"></a>3.命令参数</h2><h3 id="必要参数"><a href="#必要参数" class="headerlink" title="必要参数"></a>必要参数</h3><ul>
<li>-c 当发生改变时，报告处理信息</li>
<li>-f 错误信息不输出</li>
<li>-R 处理指定目录以及其子目录下的所有文件</li>
<li>-v 运行时显示详细处理信息</li>
</ul>
<h3 id="选择参数"><a href="#选择参数" class="headerlink" title="选择参数"></a>选择参数</h3><ul>
<li>–reference=&lt;目录或者文件&gt; 设置成具有指定目录或者文件具有相同的权限</li>
<li>–version 显示版本信息</li>
<li>&lt;权限范围&gt;+&lt;权限设置&gt; 使权限范围内的目录或者文件具有指定的权限</li>
<li>&lt;权限范围&gt;-&lt;权限设置&gt; 删除权限范围的目录或者文件的指定权限</li>
<li>&lt;权限范围&gt;=&lt;权限设置&gt; 设置权限范围内的目录或者文件的权限为指定的值</li>
</ul>
<h4 id="权限范围"><a href="#权限范围" class="headerlink" title="权限范围"></a>权限范围</h4><ul>
<li>u ：目录或者文件的当前的用户</li>
<li>g ：目录或者文件的当前的群组</li>
<li>o ：除了目录或者文件的当前用户或群组之外的用户或者群组</li>
<li>a ：所有的用户及群组</li>
</ul>
<h4 id="权限代号"><a href="#权限代号" class="headerlink" title="权限代号"></a>权限代号</h4><ul>
<li>r ：读权限，用数字4表示</li>
<li>w ：写权限，用数字2表示</li>
<li>x ：执行权限，用数字1表示</li>
<li><ul>
<li>：删除权限，用数字0表示</li>
</ul>
</li>
<li>s ：特殊权限 </li>
<li>该命令有两种用法。一种是包含字母和操作符表达式的文字设定法；另一种是包含数字的数字设定法。</li>
</ul>
<h5 id="文字设定法"><a href="#文字设定法" class="headerlink" title="文字设定法"></a>文字设定法</h5><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod [who] [+|-|=] [mode] [filename]</div></pre></td></tr></table></figure>
<h5 id="数字设定法"><a href="#数字设定法" class="headerlink" title="数字设定法"></a>数字设定法</h5><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;我们必须首先了解用数字表示的属性的含义：0表示没有权限，1表示可执行权限，2表示可写权限，4表示可读权限，然后将其相加。所以数字属性的格式应为3个从0到7的八进制数，其顺序是（u）（g）（o）。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;例如，如果想让某个文件的属主有“读/写”二种权限，需要把4（可读）+2（可写）＝6（读/写）。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;数字设定法的一般形式为：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod [mode] [filename]</div></pre></td></tr></table></figure>
<h6 id="数字与字符对应关系如下"><a href="#数字与字符对应关系如下" class="headerlink" title="数字与字符对应关系如下"></a>数字与字符对应关系如下</h6><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=4，w=2，x=1</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;若要rwx属性则4+2+1=7</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;若要rw-属性则4+2=6；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;若要r-x属性则4+1=7。 </p>
<h2 id="4-使用实例"><a href="#4-使用实例" class="headerlink" title="4.使用实例"></a>4.使用实例</h2><h3 id="实例1：增加文件所有用户组可执行权限"><a href="#实例1：增加文件所有用户组可执行权限" class="headerlink" title="实例1：增加文件所有用户组可执行权限"></a>实例1：增加文件所有用户组可执行权限</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod a+x log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chmod a+x log2012.log </span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;即设定文件log2012.log的属性为：文件属主（u） 增加执行权限；与文件属主同组用户（g） 增加执行权限；其他用户（o） 增加执行权限。</p>
<h3 id="实例2：同时修改不同用户权限"><a href="#实例2：同时修改不同用户权限" class="headerlink" title="实例2：同时修改不同用户权限"></a>实例2：同时修改不同用户权限</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod  ug+w,o-x log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chmod ug+w,o-x log2012.log </span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;即设定文件log2012.log的属性为：文件属主（u） 增加写权限;与文件属主同组用户（g） 增加写权限;其他用户（o） 删除执行权限</p>
<h3 id="实例3：删除文件权限"><a href="#实例3：删除文件权限" class="headerlink" title="实例3：删除文件权限"></a>实例3：删除文件权限</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod a-x log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chmod a-x log2012.log </span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;删除所有用户的可执行权限</p>
<h3 id="实例4：使用-“-”-设置权限"><a href="#实例4：使用-“-”-设置权限" class="headerlink" title="实例4：使用 “=” 设置权限"></a>实例4：使用 “=” 设置权限</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod u=x log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chmod u=x log2012.log </span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -al log2012.log </span></div><div class="line">---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;撤销原来所有的权限，然后使拥有者具有可读权限</p>
<h3 id="实例5：对一个目录及其子目录所有文件添加权限"><a href="#实例5：对一个目录及其子目录所有文件添加权限" class="headerlink" title="实例5：对一个目录及其子目录所有文件添加权限"></a>实例5：对一个目录及其子目录所有文件添加权限</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod -R u+x test4</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test4</span></div><div class="line">[root@localhost test4]<span class="comment"># ls -al</span></div><div class="line">总计 312drwxrwxr-x 2 root root   4096 11-13 05:50 .</div><div class="line">drwxr-xr-x 5 root root   4096 11-22 06:58 ..</div><div class="line">-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-12 22:54 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-12 22:54 log2014.log</div><div class="line">[root@localhost test4]<span class="comment"># cd ..</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># chmod -R u+x test4</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># cd test4</span></div><div class="line">[root@localhost test4]<span class="comment"># ls -al</span></div><div class="line">总计 312drwxrwxr-x 2 root root   4096 11-13 05:50 .</div><div class="line">drwxr-xr-x 5 root root   4096 11-22 06:58 ..</div><div class="line">-rwxr--r-- 1 root root 302108 11-12 22:54 log2012.log</div><div class="line">-rwxr--r-- 1 root root     61 11-12 22:54 log2013.log</div><div class="line">-rwxr--r-- 1 root root      0 11-12 22:54 log2014.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;递归地给test4目录下所有文件和子目录的属主分配权限</p>
<h3 id="其他一些实例"><a href="#其他一些实例" class="headerlink" title="其他一些实例"></a>其他一些实例</h3><h4 id="1"><a href="#1" class="headerlink" title="1."></a>1.</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod 751 file</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;说明</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;给 file 的属主分配读、写、执行（7）的权限，给 file 的所在组分配读、执行（5）的权限，给其他用户分配执行（1）的权限</p>
<h4 id="2"><a href="#2" class="headerlink" title="2."></a>2.</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod u=rwx,g=rx,o=x file</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;说明</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;上例的另一种形式</p>
<h4 id="3"><a href="#3" class="headerlink" title="3."></a>3.</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod a=r file</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;说明</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;为所有用户分配读权限</p>
<h4 id="4"><a href="#4" class="headerlink" title="4."></a>4.</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod 444 file</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;说明</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;同上例</p>
<h4 id="5"><a href="#5" class="headerlink" title="5."></a>5.</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">chmod a-wx,a+r file</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;说明</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;同上例</p>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/26. 用 SecureCRT 来上传和下载文件/">用 SecureCRT 来上传和下载文件</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的，SecureCRT下的文件传输协议有ASCII、Xmodem、Zmodem。</p>
<h2 id="文件传输协议："><a href="#文件传输协议：" class="headerlink" title="文件传输协议："></a>文件传输协议：</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件传输是数据交换的主要形式。在进行文件传输时，为使文件能被正确识别和传送，我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ASCII：这是最快的传输协议，但只能传送文本文件。 </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Xmodem：这种古老的传输协议速度较慢，但由于使用了CRC错误侦测方法，传输的准确率可高达99.6%。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Ymodem：这是Xmodem的改良版，使用了1024位区段传送，速度比Xmodem要快</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Zmodem：Zmodem采用了串流式（streaming）传输方式，传输速度较快，而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;除以上几种外，还有Imodem、Jmodem、Bimodem、Kermit、Lynx等协议，由于没有多数厂商支持，这里就略去不讲。</p>
<h2 id="SecureCRT可以使用linux下的zmodem协议来快速的传送文件-使用非常方便-具体步骤："><a href="#SecureCRT可以使用linux下的zmodem协议来快速的传送文件-使用非常方便-具体步骤：" class="headerlink" title="SecureCRT可以使用linux下的zmodem协议来快速的传送文件,使用非常方便.具体步骤："></a>SecureCRT可以使用linux下的zmodem协议来快速的传送文件,使用非常方便.具体步骤：</h2><h3 id="一．在使用SecureCRT上传下载之前需要给服务器安装lrzsz："><a href="#一．在使用SecureCRT上传下载之前需要给服务器安装lrzsz：" class="headerlink" title="一．在使用SecureCRT上传下载之前需要给服务器安装lrzsz："></a>一．在使用SecureCRT上传下载之前需要给服务器安装lrzsz：</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1、从下面的地址下载 lrzsz-0.12.20.tar.gz</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">wget http://down1.chinaunix.net/distfiles/lrzsz-0.12.20.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2、查看里面的INSTALL文档了解安装参数说明和细节</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;3、解压文件</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">tar zxvf lrzsz-0.12.20.tar.gz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4、进入目录</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line"><span class="built_in">cd</span> lrzsz-0.12.20</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;5、配置安装文件</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">./configure --prefix=/usr/<span class="built_in">local</span>/lrzsz</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;6、编译</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">make</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;7、安装</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">make install</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;8、建立软链接</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="comment">#cd /usr/bin</span></div><div class="line"><span class="comment">#ln -s /usr/local/lrzsz/bin/lrz rz</span></div><div class="line"><span class="comment">#ln -s /usr/local/lrzsz/bin/lsz sz</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;9、测试</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;运行 rz 弹出SecureCRT上传窗口,用SecureCRT来上传和下载文件。</p>
<h3 id="二．设置SecureCRT上传和下载的默认目录就行"><a href="#二．设置SecureCRT上传和下载的默认目录就行" class="headerlink" title="二．设置SecureCRT上传和下载的默认目录就行"></a>二．设置SecureCRT上传和下载的默认目录就行</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;options-&gt;session options -&gt;Terminal-&gt;Xmodem/Zmodem 下</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在右栏directory设置上传和下载的目录</p>
<h3 id="三．使用Zmodem从客户端上传文件到linux服务器"><a href="#三．使用Zmodem从客户端上传文件到linux服务器" class="headerlink" title="三．使用Zmodem从客户端上传文件到linux服务器"></a>三．使用Zmodem从客户端上传文件到linux服务器</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1.在用SecureCRT登陆linux终端.</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2.选中你要放置上传文件的路径，在目录下然后输入rz命令,SecureCRT会弹出文件选择对话框，在查找范围中找到你要上传的文件，按Add按钮。然后OK就可以把文件上传到linux上了。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;或者在Transfer-&gt;Zmodem Upoad list弹出文件选择对话框，选好文件后按Add按钮。然后OK窗口自动关闭。然后在linux下选中存放文件的目录，输入rz命令。liunx就把那个文件上传到这个目录下了。</p>
<h3 id="四．使用Zmodem下载文件到客户端："><a href="#四．使用Zmodem下载文件到客户端：" class="headerlink" title="四．使用Zmodem下载文件到客户端："></a>四．使用Zmodem下载文件到客户端：</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">sz filename</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;zmodem接收可以自行启动.下载的文件存放在你设定的默认下载目录下.</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;rz，sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具windows端需要支持ZModem的telnet/ssh客户端，SecureCRT就可以用SecureCRT登陆到Unix/Linux主机（telnet或ssh均可）O 运行命令rz，即是接收文件，SecureCRT就会弹出文件选择对话框，选好文件之后关闭对话框，文件就会上传到当前目录 O 运行命令sz file1 file2就是发文件到windows上（保存的目录是可以配置） 比ftp命令方便多了，而且服务器不用再开FTP服务了</p>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/25. Linux 文件属性详解/">Linux 文件属性详解</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux 文件或目录的属性主要包括：文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下：</p>
<h2 id="命令"><a href="#命令" class="headerlink" title="命令"></a>命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">ls -lih</div></pre></td></tr></table></figure>
<h2 id="输出"><a href="#输出" class="headerlink" title="输出"></a>输出</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -lih</span></div><div class="line">总计 316K</div><div class="line">2095120 lrwxrwxrwx 1 root root   11 11-22 06:58 linklog.log -&gt; log2012.log</div><div class="line">2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log</div><div class="line">2095110 -rw-r--r-- 1 root root   61 11-13 06:03 log2013.log</div><div class="line">2095107 -rw-r--r-- 1 root root    0 11-13 06:03 log2014.log</div><div class="line">2095117 -rw-r--r-- 1 root root    0 11-13 06:06 log2015.log</div><div class="line">2095118 -rw-r--r-- 1 root root    0 11-16 14:41 log2016.log</div><div class="line">2095119 -rw-r--r-- 1 root root    0 11-16 14:43 log2017.log</div><div class="line">2095113 drwxr-xr-x 6 root root 4.0K 10-27 01:58 scf</div><div class="line">2095109 drwxrwxr-x 2 root root 4.0K 11-13 06:08 test3</div><div class="line">2095131 drwxrwxr-x 2 root root 4.0K 11-13 05:50 test4</div></pre></td></tr></table></figure>
<h2 id="说明"><a href="#说明" class="headerlink" title="说明"></a>说明</h2><ul>
<li>第一列：inode</li>
<li>第二列：文件种类和权限；</li>
<li>第三列： 硬链接个数；</li>
<li>第四列： 属主；</li>
<li>第五列：所归属的组；</li>
<li>第六列：文件或目录的大小；</li>
<li>第七列和第八列：最后访问或修改时间；</li>
<li>第九列：文件名或目录名</li>
</ul>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;以 <code>log2012.log</code> 为例：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件类型：文件类型是-，表示这是一个普通文件； 关于文件的类型，请参考：<a href="https://hcldirgit.github.io/2017/06/09/24.%20Linux%20%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E4%B8%8E%E6%89%A9%E5%B1%95%E5%90%8D/" target="_blank" rel="external">Linux文件类型与扩展名</a></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件权限：文件权限是rw-r–r– ，表示文件属主可读、可写、不可执行，文件所归属的用户组不可写，可读，不可执行，其它用户不可写，可读，不可执行；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;硬链接个数： log2012.log这个文件没有硬链接；因为数值是1，就是他本身；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件属主：也就是这个文件归哪于哪个用户 ，它归于root，也就是第一个root；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件属组：也就是说，对于这个文件，它归属于哪个用户组，在这里是root用户组；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件大小：文件大小是296k个字节；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;访问可修改时间 ：这里的时间是最后访问的时间，最后访问和文件被修改或创建的时间，有时并不是一致的；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;当然文档的属性不仅仅包括这些，这些是我们最常用的一些属性。</p>
<h2 id="关于-inode"><a href="#关于-inode" class="headerlink" title="关于 inode"></a>关于 inode</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;inode 译成中文就是索引节点。每个存储设备或存储设备的分区（存储设备是硬盘、软盘、U盘等等）被格式化为文件系统后，应该有两部份，一部份是inode，另一部份是Block，Block是用来存储数据用的。而inode呢，就是用来存储这些数 据的信息，这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引，所以就有了inode的数值。操作系统根据指令， 能通过inode值最快的找到相对应的文件。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;做个比喻，比如一本书，存储设备或分区就相当于这本书，Block相当于书中的每一页，inode 就相当于这本书前面的目录，一本书有很多的内容，如果想查找某部份的内容，我们可以先查目录，通过目录能最快的找到我们想要看的内容。虽然不太恰当，但还是比较形象。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;当我们用ls 查看某个目录或文件时，如果加上-i 参数，就可以看到inode节点了；比如我们前面所说的例子：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#  ls -li log2012.log </span></div><div class="line">2095112 -rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;log2012.log 的inode值是 2095112 ； 查看一个文件或目录的inode，要通过ls 命令的的 -i参数。</p>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/24. Linux 文件类型与扩展名/">Linux 文件类型与扩展名</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ，这些文件虽然要用不同的程序来打开，但放在Linux文件类型中衡量的话，大多是常规文件（也被称为普通文件）。</p>
<h2 id="一、文件类型"><a href="#一、文件类型" class="headerlink" title="一、文件类型"></a>一、文件类型</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux文件类型常见的有：普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等，现在我们进行一个简要的说明。</p>
<h3 id="1-普通文件"><a href="#1-普通文件" class="headerlink" title="1.普通文件"></a>1.普通文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;我们用 ls -lh 来查看某个文件的属性，可以看到有类似-rwxrwxrwx，值得注意的是第一个符号是 - ，这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建，比如图像工具、文档工具、归档工具… …. 或 cp工具等。这类文件的删除方式是用rm 命令。 另外，依照文件的内容，又大略可以分为：</p>
<h4 id="纯文本档（ASCII）"><a href="#纯文本档（ASCII）" class="headerlink" title="纯文本档（ASCII）"></a>纯文本档（ASCII）</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这是Linux系统中最多的一种文件类型，称为纯文本档是因为内容为我们人类可以直接读到的数据，例如数字、字母等等。 几乎只要我们可以用来做为设定的文件都属于这一种文件类型。 举例来说，你可以用命令： cat ~/.bashrc 来看到该文件的内容。 (cat 是将一个文件内容读出来的指令).</p>
<h4 id="二进制文件（binary）"><a href="#二进制文件（binary）" class="headerlink" title="二进制文件（binary）"></a>二进制文件（binary）</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux系统其实仅认识且可以执行二进制文件(binary file)。Linux当中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的文件。 刚刚使用的命令cat就是一个binary file。</p>
<h4 id="数据格式化文件（data）"><a href="#数据格式化文件（data）" class="headerlink" title="数据格式化文件（data）"></a>数据格式化文件（data）</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;有些程序在运作的过程当中会读取某些特定格式的文件，那些特定格式的文件可以被称为数据文件 (data file)。举例来说，我们的Linux在使用者登录时，都会将登录的数据记录在 /var/log/wtmp那个文件内，该文件是一个data file，他能够透过last这个指令读出来！ 但是使用cat时，会读出乱码～因为他是属于一种特殊格式的文件？</p>
<h3 id="2-目录文件"><a href="#2-目录文件" class="headerlink" title="2.目录文件"></a>2.目录文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;当我们在某个目录下执行，看到有类似 drwxr-xr-x ，这样的文件就是目录，目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令，或cp命令，cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。 </p>
<h3 id="3-字符设备或块设备文件"><a href="#3-字符设备或块设备文件" class="headerlink" title="3.字符设备或块设备文件"></a>3.字符设备或块设备文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如时您进入/dev目录，列一下文件，会看到类似如下的:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># ls -al /dev/tty</span></div><div class="line">crw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/tty</div><div class="line">[root@localhost ~]<span class="comment"># ls -la /dev/sda1</span></div><div class="line">brw-r----- 1 root disk 8, 1 11-03 07:11 /dev/sda1</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;我们看到/dev/tty的属性是 crw-rw-rw- ，注意前面第一个字符是 c ，这表示字符设备文件。比如猫等串口设备。我们看到 /dev/sda1 的属性是 brw-r—– ，注意前面的第一个字符是b，这表示块设备，比如硬盘，光驱等设备。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这个种类的文件，是用mknode来创建，用rm来删除。目前在最新的Linux发行版本中，我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;与系统周边及储存等相关的一些文件， 通常都集中在/dev这个目录之下！通常又分为两种：</p>
<h4 id="区块（block）设备档"><a href="#区块（block）设备档" class="headerlink" title="区块（block）设备档"></a>区块（block）设备档</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;就是一些储存数据， 以提供系统随机存取的接口设备，举例来说，硬盘与软盘等就是啦！ 你可以随机的在硬盘的不同区块读写，这种装置就是成组设备！你可以自行查一下/dev/sda看看， 会发现第一个属性为[ b ]！</p>
<h4 id="字符（character）设备文件"><a href="#字符（character）设备文件" class="headerlink" title="字符（character）设备文件"></a>字符（character）设备文件</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;亦即是一些串行端口的接口设备， 例如键盘、鼠标等等！这些设备的特色就是一次性读取的，不能够截断输出。 举例来说，你不可能让鼠标跳到另一个画面，而是滑动到另一个地方！第一个属性为 [ c ]。</p>
<h3 id="4-数据接口文件（sockets）"><a href="#4-数据接口文件（sockets）" class="headerlink" title="4.数据接口文件（sockets）"></a>4.数据接口文件（sockets）</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;数据接口文件（或者：套接口文件），这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求， 而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为 [ s ]， 最常在/var/run这个目录中看到这种文件类型了。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;例如：当我们启动MySQL服务器时，会产生一个mysql.sock的文件。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># ls -lh /var/lib/mysql/mysql.sock </span></div><div class="line">srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;注意这个文件的属性的第一个字符是 s。</p>
<h3 id="5-符号连接文件"><a href="#5-符号连接文件" class="headerlink" title="5.符号连接文件"></a>5.符号连接文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;当我们查看文件属性时，会看到有类似 lrwxrwxrwx,注意第一个字符是l，这类文件是链接文件。是通过ln -s 源文件名 新文件名 。上面是一个例子，表示setup.log是install.log的软链接文件。怎么理解呢？这和Windows操作系统中的快捷方式有点相似。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;符号链接文件的创建方法举例:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -lh log2012.log</span></div><div class="line">-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ln -s log2012.log  linklog.log</span></div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ls -lh *.log</span></div><div class="line">lrwxrwxrwx 1 root root   11 11-22 06:58 linklog.log -&gt; log2012.log</div><div class="line">-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log</div></pre></td></tr></table></figure>
<h3 id="6-数据传输文件（FIFO，pipe）"><a href="#6-数据传输文件（FIFO，pipe）" class="headerlink" title="6.数据传输文件（FIFO，pipe）"></a>6.数据传输文件（FIFO，pipe）</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;FIFO也是一种特殊的文件类型，他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为[p] 。</p>
<h2 id="二、Linux-文件扩展名"><a href="#二、Linux-文件扩展名" class="headerlink" title="二、Linux 文件扩展名"></a>二、Linux 文件扩展名</h2><h3 id="1-扩展名类型"><a href="#1-扩展名类型" class="headerlink" title="1.扩展名类型"></a>1.扩展名类型</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;基本上，Linux的文件是没有所谓的扩展名的，一个Linux文件能不能被执行，与他的第一栏的十个属性有关， 与档名根本一点关系也没有。这个观念跟Windows的情况不相同喔！在Windows底下， 能被执行的文件扩展名通常是 .com .exe .bat等等，而在Linux底下，只要你的权限当中具有x的话，例如[ -rwx-r-xr-x ] 即代表这个文件可以被执行。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;不过，可以被执行跟可以执行成功是不一样的～举例来说，在root家目录下的install.log 是一个纯文本档，如果经由修改权限成为 -rwxrwxrwx 后，这个文件能够真的执行成功吗？ 当然不行～因为他的内容根本就没有可以执行的数据。所以说，这个x代表这个文件具有可执行的能力， 但是能不能执行成功，当然就得要看该文件的内容.</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;虽然如此，不过我们仍然希望可以藉由扩展名来了解该文件是什么东西，所以，通常我们还是会以适当的扩展名来表示该文件是什么种类的。底下有数种常用的扩展名：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;*.sh ： 脚本或批处理文件 (scripts)，因为批处理文件为使用shell写成的，所以扩展名就编成 .sh </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<em>Z, </em>.tar, <em>.tar.gz, </em>.zip, *.tgz： 经过打包的压缩文件。这是因为压缩软件分别为 gunzip, tar 等等的，由于不同的压缩软件，而取其相关的扩展名！</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<em>.html, </em>.php：网页相关文件，分别代表 HTML 语法与 PHP 语法的网页文件。 .html 的文件可使用网页浏览器来直接开启，至于 .php 的文件， 则可以透过 client 端的浏览器来 server 端浏览，以得到运算后的网页结果。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;基本上，Linux系统上的文件名真的只是让你了解该文件可能的用途而已，真正的执行与否仍然需要权限的规范才行。例如虽然有一个文件为可执行文件，如常见的/bin/ls这个显示文件属性的指令，不过，如果这个文件的权限被修改成无法执行时，那么ls就变成不能执行。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;上述的这种问题最常发生在文件传送的过程中。例如你在网络上下载一个可执行文件，但是偏偏在你的 Linux系统中就是无法执行！呵呵！那么就是可能文件的属性被改变了。不要怀疑，从网络上传送到你的 Linux系统中，文件的属性与权限确实是会被改变的。</p>
<h3 id="2-Linux-文件名长度限制"><a href="#2-Linux-文件名长度限制" class="headerlink" title="2.Linux 文件名长度限制"></a>2.Linux 文件名长度限制</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在Linux底下，使用预设的Ext2/Ext3文件系统时，针对文件名长度限制为：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;单一文件或目录的最大容许文件名为 255 个字符</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;包含完整路径名称及目录 (/) 之完整档名为 4096 个字符</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;是相当长的档名！我们希望Linux的文件名可以一看就知道该文件在干嘛的， 所以档名通常是很长很长。</p>
<h3 id="3-Linux-文件名的字符的限制"><a href="#3-Linux-文件名的字符的限制" class="headerlink" title="3.Linux 文件名的字符的限制"></a>3.Linux 文件名的字符的限制</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于Linux在文字接口下的一些指令操作关系，一般来说，你在设定Linux底下的文件名时， 最好可以避免一些特殊字符比较好！例如底下这些：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;* ? &gt; &lt; ; &amp; ! [ ] | \ ‘ “ ` ( ) { }</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;因为这些符号在文字接口下，是有特殊意义的。另外，文件名的开头为小数点“.”时， 代表这个文件为隐藏文件！同时，由于指令下达当中，常常会使用到 -option 之类的选项， 所以你最好也避免将文件档名的开头以 - 或 + 来命名。</p>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/22. find 命令的参数详解/">find 命令的参数详解</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;find 一些常用参数的一些常用实例和一些具体用法和注意事项。</p>
<h2 id="1-使用-name-选项"><a href="#1-使用-name-选项" class="headerlink" title="1.使用 name 选项"></a>1.使用 name 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件名选项是 find 命令最常用的选项，要么单独使用该选项，要么和其他选项一起使用。可以使用某种文件名模式来匹配文件，记住要用引号将文件名模式引起来。不管当前路径是什么，如果想要在自己的根目录 $HOME 中查找文件名符合 *.log 的文件，使用 ~ 作为 ‘pathname’ 参数，波浪号 ~ 呆了了 $HOME 目录。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在当前目录及子目录中查找所有的 ‘*.log’ 文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在当前目录及子目录中查找文件名以一个大写字母开头的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"[A-Z]*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在 /etc 目录中查找文件名以 host 开头的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -name <span class="string">"host*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要查找 $HOME 目录中的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -name <span class="string">"*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;或</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;要想让系统高负荷运行，就从根目录开始查找所有的文件</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -name <span class="string">"*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果想在当前目录查找文件名以一个个小写字母开头，最后是4到9加上 .log 结束的文件：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"[a-z]*[4-9].log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -name "[a-z]*[4-9].log" -print</span></div><div class="line">./log2014.log</div><div class="line">./log2015.log</div><div class="line">./test4/log2014.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="2-用-perm-选项"><a href="#2-用-perm-选项" class="headerlink" title="2.用 perm 选项"></a>2.用 perm 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;按照文件权限模式用 -perm 选项，按文件权限模式来查找文件的话。最好使用八进制的权限表示法。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如在当前目录下查找文件权限位为755的文件，即文件属主可以读、写、执行，其他用户可以读、执行的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -perm 755 -print</span></div><div class="line">.</div><div class="line">./scf</div><div class="line">./scf/lib</div><div class="line">./scf/service</div><div class="line">./scf/service/deploy</div><div class="line">./scf/service/deploy/product</div><div class="line">./scf/service/deploy/info</div><div class="line">./scf/doc</div><div class="line">./scf/bin</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;还有一种表达方法：在八进制数字前面要加一个横杠 - ，表示都匹配，如 -007 就相当于 777， -005 相当于 555。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -perm -005</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -perm -005</span></div><div class="line">.</div><div class="line">./test4</div><div class="line">./scf</div><div class="line">./scf/lib</div><div class="line">./scf/service</div><div class="line">./scf/service/deploy</div><div class="line">./scf/service/deploy/product</div><div class="line">./scf/service/deploy/info</div><div class="line">./scf/doc</div><div class="line">./scf/bin</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="3-忽略某个目录"><a href="#3-忽略某个目录" class="headerlink" title="3.忽略某个目录"></a>3.忽略某个目录</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果在查找文件时希望忽略某个目录，因为知道那个目录中没有索要查找的文件，那么可以使用 -prune 选项来指出需要忽略的目录。在使用 -prune 选项时要当心，因为如果同时使用了 -depth 选项，那么 -prune 选项就会被 find 命令忽略。如果希望在 test 目录下查找文件，但不希望在 test/test3 目录下查找，可以用：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> -path “<span class="built_in">test</span>/test3” -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test -path "test/test3" -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/test4</div><div class="line"><span class="built_in">test</span>/test4/log2014.log</div><div class="line"><span class="built_in">test</span>/test4/log2013.log</div><div class="line"><span class="built_in">test</span>/test4/log2012.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="4-使用-find-查找文件的时候怎么不开某个文件目录"><a href="#4-使用-find-查找文件的时候怎么不开某个文件目录" class="headerlink" title="4.使用 find 查找文件的时候怎么不开某个文件目录"></a>4.使用 find 查找文件的时候怎么不开某个文件目录</h2><h3 id="实例1：在-test-目录下查找不再-test4-子目录之内的所有文件"><a href="#实例1：在-test-目录下查找不再-test4-子目录之内的所有文件" class="headerlink" title="实例1：在 test 目录下查找不再 test4 子目录之内的所有文件"></a>实例1：在 test 目录下查找不再 test4 子目录之内的所有文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> -path <span class="string">"test/test4"</span> -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div><div class="line">31</div><div class="line">32</div><div class="line">33</div><div class="line">34</div><div class="line">35</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/test4</div><div class="line"><span class="built_in">test</span>/test4/log2014.log</div><div class="line"><span class="built_in">test</span>/test4/log2013.log</div><div class="line"><span class="built_in">test</span>/test4/log2012.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line"><span class="built_in">test</span>/test3</div><div class="line">[root@localhost soft]<span class="comment"># find test -path "test/test4" -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line"><span class="built_in">test</span>/test3</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find [-path ..] [expression]</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在路径列表的后面的是表达式<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-path “test” -prune -o -print 是 -path “test” -a -prune -o -print 的简写表达式按顺序求值， -a 和 -o 都是短路求值，与 shell 的 &amp;&amp; 和 || 类似。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果 -path “test” 为真，则求值 -prune ，-prune 返回真，与逻辑表达式为真；否则不求值 -prune ，与逻辑表达式为假。如果 -path “test” -a -prune 为假，则求值 -print ，-print 返回真，或逻辑表达式为真；否则不求值 -print ，或逻辑表达式为真。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这个表达式组合特例可以用伪码写为：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">if</span> -path <span class="string">"test"</span></div><div class="line"><span class="keyword">then</span></div><div class="line">    -prune</div><div class="line"><span class="keyword">else</span></div><div class="line">    -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="实例2：避开多个文件夹"><a href="#实例2：避开多个文件夹" class="headerlink" title="实例2：避开多个文件夹"></a>实例2：避开多个文件夹</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> \( -path <span class="built_in">test</span>/test4 -o -path <span class="built_in">test</span>/test3 \) -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test \( -path test/test4 -o -path test/test3 \) -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong><br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;圆括号表示表达式的结合。 \ 表示引用，即指示 shell 不对后面的字符作特殊解释，而留给 find 命令去解释其意义。</p>
<h3 id="实例3：查找某一确定文件，-name-等选项加在-o-之后"><a href="#实例3：查找某一确定文件，-name-等选项加在-o-之后" class="headerlink" title="实例3：查找某一确定文件，-name 等选项加在 -o 之后"></a>实例3：查找某一确定文件，-name 等选项加在 -o 之后</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> \(-path <span class="built_in">test</span>/test4 -o -path <span class="built_in">test</span>/test3 \) -prune -o -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test \( -path test/test4 -o -path test/test3 \) -prune -o -name "*.log" -print</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="5-使用-user-和-nouser-选项"><a href="#5-使用-user-和-nouser-选项" class="headerlink" title="5.使用 user 和 nouser 选项"></a>5.使用 user 和 nouser 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;按文件属主查找文件：</p>
<h3 id="实例1：在-HOME-目录中查找文件属主为-peida-的文件"><a href="#实例1：在-HOME-目录中查找文件属主为-peida-的文件" class="headerlink" title="实例1：在 $HOME 目录中查找文件属主为 peida 的文件"></a>实例1：在 $HOME 目录中查找文件属主为 peida 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -user peida -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在-etc-目录下查找文件属主为-peida-的文件"><a href="#实例2：在-etc-目录下查找文件属主为-peida-的文件" class="headerlink" title="实例2：在 /etc 目录下查找文件属主为 peida 的文件"></a>实例2：在 /etc 目录下查找文件属主为 peida 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -user peida -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：为了查找属主账户已经被删除的文件，可以使用-nouser-选项。在-home-目录下查找所有的这类文件"><a href="#实例3：为了查找属主账户已经被删除的文件，可以使用-nouser-选项。在-home-目录下查找所有的这类文件" class="headerlink" title="实例3：为了查找属主账户已经被删除的文件，可以使用 -nouser 选项。在 /home 目录下查找所有的这类文件"></a>实例3：为了查找属主账户已经被删除的文件，可以使用 -nouser 选项。在 /home 目录下查找所有的这类文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /home -nouser -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong><br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这样就能够找到那些属主在 /etc/passwd 文件中没有有效账户的文件。在使用 -nouser 选项时，不必给出用户名；find 命令能够完成相应的工作。</p>
<h2 id="6-使用-group-和-nogroup-选项"><a href="#6-使用-group-和-nogroup-选项" class="headerlink" title="6.使用 group 和 nogroup 选项"></a>6.使用 group 和 nogroup 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;就像 user 和 nouser 选项一样，针对文件所属于的用户组，find 命令也具有同样的选项，为了在 /apps 目录下查找属于 gem 用户组的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /apps -group gem -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;要查找没有有效所属用户组的所有文件，可以使用 nogroup 选项。下面的 find 命令从文件系统的根目录处查找这样的文件：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -nogroup -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="7-按照更改时间或访问时间等查找文件"><a href="#7-按照更改时间或访问时间等查找文件" class="headerlink" title="7.按照更改时间或访问时间等查找文件"></a>7.按照更改时间或访问时间等查找文件</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果希望按照更改时间来查找文件，可以使用 mtime 、atime 或 ctime 选项。如果系统突然没有可用空间了，很有可能某一个文件的长度在期间增长迅速，这是就可以用 mtime 选项来查找这样的文件。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;用减号 - 来限定更改时间在距今 n 日之内的文件，而用加好 + 来限定更改时间在距今 n 日以前的文件。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;希望在系统根目录下查找更改时间在5日以内的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -mtime -5 <span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;为了在 /var/adm 目录下查找更改时间在3日以前的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /var/adm -mtime +3 -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="8-查找比某个文件新或旧的文件"><a href="#8-查找比某个文件新或旧的文件" class="headerlink" title="8.查找比某个文件新或旧的文件"></a>8.查找比某个文件新或旧的文件</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件可以使用 -newer 选项。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;它的一般形式为：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">newest_file_name ! oldest_file_name</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;其中，！ 是逻辑非符号。</p>
<h3 id="实例1：-查找更改时间比文件-log2012-log-新但比文件-log2017-log-旧的文件"><a href="#实例1：-查找更改时间比文件-log2012-log-新但比文件-log2017-log-旧的文件" class="headerlink" title="实例1： 查找更改时间比文件 log2012.log 新但比文件 log2017.log 旧的文件"></a>实例1： 查找更改时间比文件 <code>log2012.log</code> 新但比文件 <code>log2017.log</code> 旧的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find -newer log2012.log ! -newer log2017.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find -newer log2012.log ! -newer log2017.log</span></div><div class="line">.</div><div class="line">./log2015.log</div><div class="line">./log2017.log</div><div class="line">./log2016.log</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例2：查找更改时间比-log2012-log-文件新的文件"><a href="#实例2：查找更改时间比-log2012-log-文件新的文件" class="headerlink" title="实例2：查找更改时间比  log2012.log 文件新的文件"></a>实例2：查找更改时间比  <code>log2012.log</code> 文件新的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -newer log2012.log -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find -newer log2012.log</span></div><div class="line">.</div><div class="line">./log2015.log</div><div class="line">./log2017.log</div><div class="line">./log2016.log</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="9-使用-type-选项"><a href="#9-使用-type-选项" class="headerlink" title="9.使用 type 选项"></a>9.使用 type 选项</h2><h3 id="实例1：在-etc-目录下查找所有的目录"><a href="#实例1：在-etc-目录下查找所有的目录" class="headerlink" title="实例1：在 /etc 目录下查找所有的目录"></a>实例1：在 /etc 目录下查找所有的目录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -<span class="built_in">type</span> d -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在当前目录下查找除目录意外的所有类型的文件"><a href="#实例2：在当前目录下查找除目录意外的所有类型的文件" class="headerlink" title="实例2：在当前目录下查找除目录意外的所有类型的文件"></a>实例2：在当前目录下查找除目录意外的所有类型的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . ! -<span class="built_in">type</span> d -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：在-etc-目录下查找所有-负担好链接文件"><a href="#实例3：在-etc-目录下查找所有-负担好链接文件" class="headerlink" title="实例3：在 /etc 目录下查找所有  负担好链接文件"></a>实例3：在 /etc 目录下查找所有  负担好链接文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc/-<span class="built_in">type</span> l -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="使用-size-选项"><a href="#使用-size-选项" class="headerlink" title="使用 size 选项"></a>使用 size 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;可以按照文件长度来查找文件，这里所指的文件长度既可以用块（block）来计量，也可以用字节来计量。以字节计量文件长度的表达形式为N c；以块计量文件长度只用数字表示即可。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在按照文件长度查找文件时，一般使用这种以字节表示的文件长度，在查看文件系统的大小，因为这时使用块来计量更容易转换。</p>
<h3 id="实例1：在当前目录下查找文件长度大于1M字节的文件"><a href="#实例1：在当前目录下查找文件长度大于1M字节的文件" class="headerlink" title="实例1：在当前目录下查找文件长度大于1M字节的文件"></a>实例1：在当前目录下查找文件长度大于1M字节的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -size +1000000c -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在-home-apache-目录下查找文件长度恰好为100字节的文件"><a href="#实例2：在-home-apache-目录下查找文件长度恰好为100字节的文件" class="headerlink" title="实例2：在/home/apache 目录下查找文件长度恰好为100字节的文件"></a>实例2：在/home/apache 目录下查找文件长度恰好为100字节的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /home/apache -size 100c -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）"><a href="#实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）" class="headerlink" title="实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）"></a>实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -size +10 -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="使用-depth-选项"><a href="#使用-depth-选项" class="headerlink" title="使用 depth 选项"></a>使用 depth 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在使用 find 命令时，可能希望先匹配所有的文件，再在子目录中查找。使用 depth 选项就可以使 find 命令这样做。这样做的一个原因就是，当在使用 find 命令想磁带上备份文件系统时，希望首先备份所有的 文件，其次再备份子目录中的文件。</p>
<h3 id="实例1：find-命令从文件系统的根目录开始，查找一个名为-CON-FILE-的文件"><a href="#实例1：find-命令从文件系统的根目录开始，查找一个名为-CON-FILE-的文件" class="headerlink" title="实例1：find 命令从文件系统的根目录开始，查找一个名为 CON.FILE 的文件"></a>实例1：find 命令从文件系统的根目录开始，查找一个名为 CON.FILE 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"*.XC"</span> -mount -<span class="built_in">print</span></div></pre></td></tr></table></figure>

	

	

</article>




	<article>
	
		<h1><a href="/2017/10/12/2. Linux 命令/23. Linux 目录结构/">Linux 目录结构</a></h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;对于每一个Linux学习者来说，了解Linux文件系统的目录结构，是学好Linux的至关重要的一步.，深入了解linux文件目录结构的标准和每个目录的详细功能，对于我们用好linux系统只管重要，下面我们就开始了解一下linux目录结构的相关知识。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;当在使用Linux的时候，如果您通过ls –l / 就会发现，在/下包涵很多的目录，比如etc、usr、var、bin … … 等目录，而在这些目录中，我们进去看看，发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构，所以我们可以把文件系统的结构形象的称为 树形结构。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件系统的是用来组织和排列文件存取的，所以她是可见的，在Linux中，我们可以通过ls等工具来查看其结构，在Linux系统中，我们见到的都是树形结构；比如操作系统安装在一个文件系统中，他表现为由/ 起始的树形结构。linux文件系统的最顶端是/，我们称/为Linux的root，也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/，所有的目录、文件、设备都在/之下，/就是Linux文件系统的组织者，也是最上级的领导者。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于linux是开放源代码，各大公司和团体根据linux的核心代码做各自的操作，编程。这样就造成在根下的目录的不同。这样就造成个人不能使用他人的linux系统的PC。因为你根本不知道一些基本的配置，文件在哪里。。。这就造成了混乱。这就是FHS（Filesystem Hierarchy Standard ）机构诞生的原因。该机构是linux爱好者自发的组成的一个团体，主要是是对linux做一些基本的要求，不至于是操作者换一台主机就成了linux的‘文盲’。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;根据<a href="http://www.pathname.com/fhs/" target="_blank" rel="external">FHS</a>的官方文件指出， 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下， 所以他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户，都能够遵循FHS的标准。 也就是说，FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。 这样做好处非常多，因为Linux操作系统就能够在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;事实上，FHS是根据过去的经验一直再持续的改版的，FHS依据文件系统使用的频繁与否与是否允许使用者随意更动， 而将目录定义成为四种交互作用的形态，用表格来说有点像底下这样：</p>
<table>
<thead>
<tr>
<th style="text-align:left">&#160;</th>
<th style="text-align:left">可分享的（shareable）</th>
<th style="text-align:left">不可分享的（unshareables）</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">不变的（static）</td>
<td style="text-align:left">/usr(软件放置处）</td>
<td style="text-align:left">/etc（配置文件）</td>
</tr>
<tr>
<td style="text-align:left">&#160;</td>
<td style="text-align:left">/opt(第三方协力软件)</td>
<td style="text-align:left">/boot（开机与核心档）</td>
</tr>
<tr>
<td style="text-align:left">可变动的（variable）</td>
<td style="text-align:left">/var/mail（使用者邮件信箱）</td>
<td style="text-align:left">/var/run（程序相关）</td>
</tr>
<tr>
<td style="text-align:left">&#160;</td>
<td style="text-align:left">/var/spool/news（新闻组）</td>
<td style="text-align:left">/var/lock（程序相关）</td>
</tr>
</tbody>
</table>
<h2 id="四种类型"><a href="#四种类型" class="headerlink" title="四种类型"></a>四种类型</h2><h3 id="1-可分享的"><a href="#1-可分享的" class="headerlink" title="1.可分享的"></a>1.可分享的</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;可以分享给其他系统挂载的目录，所以包括执行文件与用户的邮件等数据，是能够分享给网络上其他主机挂载用的目录；</p>
<h3 id="2-不可分享的"><a href="#2-不可分享的" class="headerlink" title="2.不可分享的"></a>2.不可分享的</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;自己机器上面运作的装置文件或者是与程序有关的 socket 文件等，由于仅与自身机器有关，所以当然就不合适分享给其他主机了。</p>
<h3 id="3-不变的"><a href="#3-不变的" class="headerlink" title="3.不变的"></a>3.不变的</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;有些数据是不回经常变动的，跟随着 distribution 而不变动。例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等；</p>
<h3 id="4-可变动的"><a href="#4-可变动的" class="headerlink" title="4.可变动的"></a>4.可变动的</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;经常改变的数据，例如登录文件、一般用户可自行收受的新闻组等。</p>
<hr>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;事实上，FHS 针对目录树架构仅定义出三层目录底下应该放置什么数据而已，分别是底下这三个目录的定义：</p>
<h2 id="root-根目录-：与开机系统有关；-usr-unix-software-resource-：与软件安装-执行有关；-var-variable-：与系统运作过程有关。"><a href="#root-根目录-：与开机系统有关；-usr-unix-software-resource-：与软件安装-执行有关；-var-variable-：与系统运作过程有关。" class="headerlink" title="/ (root, 根目录)：与开机系统有关；/usr (unix software resource)：与软件安装/执行有关；/var (variable)：与系统运作过程有关。"></a>/ (root, 根目录)：与开机系统有关；/usr (unix software resource)：与软件安装/执行有关；/var (variable)：与系统运作过程有关。</h2><h3 id="一、根目录（-）的意义与内容"><a href="#一、根目录（-）的意义与内容" class="headerlink" title="一、根目录（/）的意义与内容"></a>一、根目录（/）的意义与内容</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;根目录是整个系统最重要的一个目录，因为不但所有的目录都是由根目录衍生出来的， 同时根目录也与开机/还原/系统修复等动作有关。 由于系统开机时需要特定的开机软件、核心文件、开机所需程序、 函式库等等文件数据，若系统出现错误时，根目录也必须要包含有能够修复文件系统的程序才行。 因为根目录是这么的重要，所以在FHS的要求方面，他希望根目录不要放在非常大的分区， 因为越大的分区内你会放入越多的数据，如此一来根目录所在分区就可能会有较多发生错误的机会。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;因此FHS标准建议：根目录(/)所在分区应该越小越好， 且应用程序所安装的软件最好不要与根目录放在同一个分区内，保持根目录越小越好。 如此不但效能较佳，根目录所在的文件系统也较不容易发生问题。<strong>说白了，就是根目录和Windows的C盘一个样。</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;根据以上原因，FHS认为根目录(/)下应该包含如下子目录：</p>
<table>
<thead>
<tr>
<th style="text-align:left">目录</th>
<th style="text-align:left">应防止档案内容</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">/bin</td>
<td style="text-align:left">系统有很多放置执行档的目录，但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用，主要有：cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。</td>
</tr>
<tr>
<td style="text-align:left">/boot</td>
<td style="text-align:left">主要放置开机会使用到的档案，包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为：vmlinuz ，如果使用的是grub这个开机管理程式，则还会存在/boot/grub/这个目录。</td>
</tr>
<tr>
<td style="text-align:left">/dev</td>
<td style="text-align:left">在Linux系统上，任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案，就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp<em>, / dev/hd</em>, /dev/sd*等等</td>
</tr>
<tr>
<td style="text-align:left">/etc</td>
<td style="text-align:left">系统主要的设定档几乎都放置在这个目录内，例如人员的帐号密码档、各种服务的启始档等等。 一般来说，这个目录下的各档案属性是可以让一般使用者查阅的，但是只有root有权力修改。 FHS建议不要放置可执行档(binary)在这个目录中。 比较重要的档案有：/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外，其下重要的目录有：/etc/init.d/ ：所有服务的预设启动script都是放在这里的，例如要启动或者关闭iptables的话： /etc/init.d/iptables start、/etc/init.d/ iptables stop/etc/xinetd.d/ ：这就是所谓的super daemon管理的各项服务的设定档目录。/etc/X11/ ：与X Window有关的各种设定档都在这里，尤其是xorg.conf或XF86Config这两个X Server的设定档。</td>
</tr>
<tr>
<td style="text-align:left">/home</td>
<td style="text-align:left">这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时，预设的使用者家目录都会规范到这里来。比较重要的是，家目录有两种代号： ~ ：代表当前使用者的家目录，而 ~guest：则代表用户名为guest的家目录。</td>
</tr>
<tr>
<td style="text-align:left">/lib</td>
<td style="text-align:left">系统的函式库非常的多，而/lib放置的则是在开机时会用到的函式库，以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢？妳可以将他想成是外挂，某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录，因为该目录会放置核心相关的模组(驱动程式)。</td>
</tr>
<tr>
<td style="text-align:left">/media</td>
<td style="text-align:left">media是媒体的英文，顾名思义，这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有：/media/floppy, /media/cdrom等等。</td>
</tr>
<tr>
<td style="text-align:left">/mnt</td>
<td style="text-align:left">如果妳想要暂时挂载某些额外的装置，一般建议妳可以放置到这个目录中。在古早时候，这个目录的用途与/media相同啦。 只是有了/media之后，这个目录就用来暂时挂载用了。</td>
</tr>
<tr>
<td style="text-align:left">/opt</td>
<td style="text-align:left">这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊？举例来说，KDE这个桌面管理系统是一个独立的计画，不过他可以安装到Linux系统中，因此KDE的软体就建议放置到此目录下了。 另外，如果妳想要自行安装额外的软体(非原本的distribution提供的)，那么也能够将你的软体安装到这里来。 不过，以前的Linux系统中，我们还是习惯放置在/usr/local目录下。</td>
</tr>
<tr>
<td style="text-align:left">/root</td>
<td style="text-align:left">系统管理员(root)的家目录。 之所以放在这里，是因为如果进入单人维护模式而仅挂载根目录时，该目录就能够拥有root的家目录，所以我们会希望root的家目录与根目录放置在同一个分区中。</td>
</tr>
<tr>
<td style="text-align:left">/sbin</td>
<td style="text-align:left">Linux有非常多指令是用来设定系统环境的，这些指令只有root才能够利用来设定系统，其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的，里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式，一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary)，则放置到/usr/local/sbin/当中了。常见的指令包括：fdisk, fsck, ifconfig, init, mkfs等等。</td>
</tr>
<tr>
<td style="text-align:left">/srv</td>
<td style="text-align:left">srv可以视为service的缩写，是一些网路服务启动之后，这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说，WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵，看来平时我们编写的代码应该放到这里了。</td>
</tr>
<tr>
<td style="text-align:left">/tmp</td>
<td style="text-align:left">这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的，所以你需要定期的清理一下。当然，重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时，应该要将/tmp下的资料都删除。</td>
</tr>
</tbody>
</table>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;事实上 FHS 针对根目录所定义的标准就仅限于上表，不过仍旧有些目录也需要了解，具体如下：</p>
<table>
<thead>
<tr>
<th style="text-align:left">目录</th>
<th style="text-align:left">应放置文件内容</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">/lost + found</td>
<td style="text-align:left">这个目录是使用标准的ext2/ext3档案系统格式才会产生的一个目录，目的在于当档案系统发生错误时，将一些遗失的片段放置到这个目录下。 这个目录通常会在分割槽的最顶层存在，例如你加装一个硬盘于/disk中，那在这个系统下就会自动产生一个这样的目录/disk/lost+found</td>
</tr>
<tr>
<td style="text-align:left">/proc</td>
<td style="text-align:left">这个目录本身是一个虚拟文件系统(virtual filesystem)喔。 他放置的资料都是在内存当中，例如系统核心、行程资讯(process)（是进程吗?）、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体（内存）当中，所以本身不占任何硬盘空间。比较重要的档案（目录）例如： /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。呵呵，是虚拟内存吗[guest]？</td>
</tr>
<tr>
<td style="text-align:left">/sys</td>
<td style="text-align:left">这个目录其实跟/proc非常类似，也是一个虚拟的档案系统，主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量。</td>
</tr>
</tbody>
</table>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;除了这些目录的内容文件，另外要注意的是，因为根目录与开机有关，开机过程中仅有根目录会被挂载，其他分区则是在开机完成之后才会持续的进行挂载的行为。就是因为如此，因此根目录下与开机过程有关的目录，就不能够与根目录放到不同的分区去。哪些目录不可与根分区分开呢：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/etc：配置文件</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/bin：重要执行档</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/dev：所需要的装置文件</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/lib：执行档所需的函式库与核心所需的模块</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/sbin：重要的系统执行文件</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这五个目录千万不可与根目录分开在不同的分区。</p>
<h3 id="二、-usr-的意义与内容"><a href="#二、-usr-的意义与内容" class="headerlink" title="二、/usr 的意义与内容"></a>二、/usr 的意义与内容</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;依据FHS的基本定义，/usr里面放置的数据属于可分享的与不可变动的(shareable, static)， 如果你知道如何透过网络进行分区的挂载(例如在服务器篇会谈到的NFS服务器)，那么/usr确实可以分享给局域网络内的其他主机来使用喔。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/usr不是user的缩写，其实usr是Unix Software Resource的缩写， 也就是Unix操作系统软件资源所放置的目录，而不是用户的数据啦。这点要注意。 FHS建议所有软件开发者，应该将他们的数据合理的分别放置到这个目录下的次目录，而不要自行建立该软件自己独立的目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下，因此这个目录有点类似Windows 系统的C:\Windows\ + C:\Program files\这两个目录的综合体，系统刚安装完毕时，这个目录会占用最多的硬盘容量。 一般来说，/usr的次目录建议有底下这些：</p>
<table>
<thead>
<tr>
<th>目录</th>
<th>应放置文件内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>/usr/X11R6/</td>
<td>为X Window System重要数据所放置的目录，之所以取名为X11R6是因为最后的X版本为第11版，且该版的第6次释出之意。 </td>
</tr>
<tr>
<td>/usr/bin/</td>
<td>绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关) </td>
</tr>
<tr>
<td>/usr/include/</td>
<td>c/c++等程序语言的档头(header)与包含档(include)放置处，当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时，会使用到里头的许多包含档。 </td>
</tr>
<tr>
<td>/usr/lib/</td>
<td>包含各应用软件的函式库、目标文件(object file)，以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定，这些指令也不会经常被系统管理员操作， 那就会被摆放到这个目录下啦。要注意的是，如果你使用的是X86_64的Linux系统， 那可能会有/usr/lib64/目录产生 </td>
</tr>
<tr>
<td>/usr/local/</td>
<td>统管理员在本机自行安装自己下载的软件(非distribution默认提供者)，建议安装到此目录， 这样会比较便于管理。举例来说，你的distribution提供的软件较旧，你想安装较新的软件但又不想移除旧版， 此时你可以将新版软件安装于/usr/local/目录下，可与原先的旧版软件有分别啦。 你可以自行到/usr/local去看看，该目录下也是具有bin, etc, include, lib…的次目录 </td>
</tr>
<tr>
<td>/usr/sbin/</td>
<td>非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon) </td>
</tr>
<tr>
<td>/usr/share/</td>
<td>放置共享文件的地方，在这个目录下放置的数据几乎是不分硬件架构均可读取的数据， 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录：/usr/share/man：联机帮助文件;/usr/share/doc：软件杂项的文件说明;/usr/share/zoneinfo：与时区有关的时区文件</td>
</tr>
<tr>
<td>/usr/src/</td>
<td>一般原始码建议放置到这里，src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。 </td>
</tr>
</tbody>
</table>
<h3 id="三、-var-的意义与内容"><a href="#三、-var-的意义与内容" class="headerlink" title="三、/var 的意义与内容"></a>三、/var 的意义与内容</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果/usr是安装时会占用较大硬盘容量的目录，那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动的文件，包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件， 包括程序文件(lock file, run file)，或者例如MySQL数据库的文件等等。常见的次目录有：</p>
<table>
<thead>
<tr>
<th>目录</th>
<th>应放置文件内容</th>
</tr>
</thead>
<tbody>
<tr>
<td>/var/cache/</td>
<td>应用程序本身运作过程中会产生的一些暂存档</td>
</tr>
<tr>
<td>/var/lib/</td>
<td>程序本身执行的过程中，需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。 举例来说，MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去</td>
</tr>
<tr>
<td>/var/lock/</td>
<td>某些装置或者是文件资源一次只能被一个应用程序所使用，如果同时有两个程序使用该装置时， 就可能产生一些错误的状况，因此就得要将该装置上锁(lock)，以确保该装置只会给单一软件所使用。 举例来说，刻录机正在刻录一块光盘，你想一下，会不会有两个人同时在使用一个刻录机烧片？ 如果两个人同时刻录，那片子写入的是谁的数据？所以当第一个人在刻录时该刻录机就会被上锁， 第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用</td>
</tr>
<tr>
<td>/var/log/</td>
<td>非常重要。这是登录文件放置的目录。里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等。</td>
</tr>
<tr>
<td>/var/mail/</td>
<td>放置个人电子邮件信箱的目录，不过这个目录也被放置到/var/spool/mail/目录中，通常这两个目录是互为链接文件。</td>
</tr>
<tr>
<td>/var/run/</td>
<td>某些程序或者是服务启动后，会将他们的PID放置在这个目录下</td>
</tr>
<tr>
<td>/var/spool/</td>
<td>这个目录通常放置一些队列数据，所谓的“队列”就是排队等待其他程序使用的数据。 这些数据被使用后通常都会被删除。举例来说，系统收到新信会放置到/var/spool/mail/中， 但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中， 等到被送出后就被删除。如果是工作排程数据(crontab)，就会被放置到/var/spool/cron/目录中。</td>
</tr>
</tbody>
</table>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于 FHS 仅是定义出最上层(/)及次层(/usr, /var)的目录内容应该要放置的文件或目录数据， 因此，在其他次目录层级内，就可以随开发者自行来配置了。</p>
<h3 id="四、目录树（directory-tree）"><a href="#四、目录树（directory-tree）" class="headerlink" title="四、目录树（directory tree）"></a>四、目录树（directory tree）</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在Linux底下，所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头, 然后再一个一个的分支下来，因此，我们也称这种目录配置方式为：目录树(directory tree), 这个目录树的主要特性有：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;目录树的启始点为根目录 (/, root)；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;每一个目录不止能使用本地端的 partition 的文件系统，也可以使用网络上的 filesystem 。举例来说， 可以利用 Network File System (NFS) 服务器挂载某特定目录等。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果我们将整个目录树以图的方法来显示，并且将较为重要的文件数据列出来的话，那么目录树架构就如下图所示：</p>
<p><figure class="figure"><img src="https://github.com/hcldirgit/image/blob/master/linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84/01.png?raw=true" alt="image"><figcaption class="figure__caption">image</figcaption></figure></p>
<h3 id="五、绝对路径与相对路径"><a href="#五、绝对路径与相对路径" class="headerlink" title="五、绝对路径与相对路径"></a>五、绝对路径与相对路径</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;除了需要特别注意的FHS目录配置外，在文件名部分我们也要特别注意。因为根据档名写法的不同，也可将所谓的路径(path)定义为绝对路径(absolute)与相对路径(relative)。 这两种文件名/路径的写法依据是这样的：</p>
<h4 id="绝对路径："><a href="#绝对路径：" class="headerlink" title="绝对路径："></a>绝对路径：</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由根目录(/)开始写起的文件名或目录名称， 例如 /home/dmtsai/.bashrc；</p>
<h4 id="相对路径："><a href="#相对路径：" class="headerlink" title="相对路径："></a>相对路径：</h4><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 <a href="http://www.cnblogs.com/home/dmtsai/" target="_blank" rel="external">http://www.cnblogs.com/home/dmtsai/</a> 等等。反正开头不是 / 就属于相对路径的写法</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;而你必须要了解，相对路径是以你当前所在路径的相对位置来表示的。举例来说，你目前在 /home 这个目录下， 如果想要进入 /var/log 这个目录时，可以怎么写呢？</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="built_in">cd</span> /var/<span class="built_in">log</span>   (absolute)</div><div class="line"><span class="built_in">cd</span> ../var/<span class="built_in">log</span> (relative)</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;因为你在 /home 底下，所以要回到上一层 (../) 之后，才能继续往 /var 来移动的，特别注意这两个特殊的目录：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;.  ：代表当前的目录，也可以使用 ./ 来表示；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;.. ：代表上一层目录，也可以 ../ 来代表。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这个 . 与 .. 目录概念是很重要的，你常常会看到 cd .. 或 ./command 之类的指令下达方式， 就是代表上一层与目前所在目录的工作状态。</p>
<h4 id="使用实例"><a href="#使用实例" class="headerlink" title="使用实例"></a>使用实例</h4><h5 id="实例1：如何先进入-var-spool-mail-目录，再进入到-var-spool-cron-目录内？"><a href="#实例1：如何先进入-var-spool-mail-目录，再进入到-var-spool-cron-目录内？" class="headerlink" title="实例1：如何先进入/var/spool/mail/目录，再进入到/var/spool/cron/目录内？"></a>实例1：如何先进入/var/spool/mail/目录，再进入到/var/spool/cron/目录内？</h5><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令：</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="built_in">cd</span> /var/spool/mail</div><div class="line"><span class="built_in">cd</span> ../cron</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明：</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于/var/spool/mail与/var/spool/cron是同样在/var/spool/目录中。如此就不需要在由根目录开始写起了。这个相对路径是非常有帮助的，尤其对于某些软件开发商来说。 一般来说，软件开发商会将数据放置到/usr/local/里面的各相对目录。 但如果用户想要安装到不同目录呢？就得要使用相对路径。</p>
<h5 id="实例2：网络文件常常提到类似-run-sh之类的数据，这个指令的意义为何？"><a href="#实例2：网络文件常常提到类似-run-sh之类的数据，这个指令的意义为何？" class="headerlink" title="实例2：网络文件常常提到类似./run.sh之类的数据，这个指令的意义为何？"></a>实例2：网络文件常常提到类似./run.sh之类的数据，这个指令的意义为何？</h5><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明：</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;由于指令的执行需要变量的支持，若你的执行文件放置在本目录，并且本目录并非正规的执行文件目录(/bin, /usr/bin等为正规)，此时要执行指令就得要严格指定该执行档。./代表本目录的意思，所以./run.sh代表执行本目录下， 名为run.sh的文件。</p>

	

	

</article>





	<span class="different-posts">📖 <a href="/page/55">more posts</a> 📖</span>



	</main>

	<footer class="footer">
	<div class="footer-content">
		
	      <div class="footer__element">
	<p>Hi there, <br />welcome to my Blog glad you found it. Have a look around, will you?</p>
</div>

	    
	      <div class="footer__element">
	<h5>Check out</h5>
	<ul class="footer-links">
		<li class="footer-links__link"><a href="/archives">Archive</a></li>
		
		  <li class="footer-links__link"><a href="/atom.xml">RSS</a></li>
	    
		<li class="footer-links__link"><a href="/about">about page</a></li>
		<li class="footer-links__link"><a href="/tags">Tags</a></li>
		<li class="footer-links__link"><a href="/categories">Categories</a></li>
	</ul>
</div>

	    

		<div class="footer-credit">
			<span>© 2017 失落的乐章 | Powered by <a href="https://hexo.io/">Hexo</a> | Theme <a href="https://github.com/HoverBaum/meilidu-hexo">MeiliDu</a></span>
		</div>

	</div>


</footer>



</body>

</html>
